Context-Oriented Behavioral Programming
نویسندگان
چکیده
Modern systems require programmers to develop code that dynamically adapts different contexts, leading the evolution of new context-oriented programming languages. These languages introduce software-engineering challenges, such as: how maintain and keep separation concerns codebase? model changing behaviors? verify system behavior? more. This paper introduces Context-Oriented Behavioral Programming(COBP) - a novel paradigm for developing context-aware systems, centered on natural incremental specification context-dependent behaviors. As name suggests, we combine behavioral-programming(BP) scenario-based modeling with context idioms explicitly specify when scenarios are relevant what information they need. The core idea is connect behavioral data represents context, allowing an intuitive connection between models via update select queries. Combining behavioral-programming brings best two worlds, solving issues arise using each approaches in separation. We begin providing abstract semantics COBP, laying foundations applying reasoning algorithms programs. then exemplify formal specifications including variant Conway's Game Life. Finally, present JavaScript-based implementation provide case studies real-life (one robotics another IoT) were developed this tool. Throughout examples studies, design patterns methodology coping above challenges.
منابع مشابه
Context-oriented Programming
Context-dependent behavior is becoming increasingly important for a wide range of application domains, from pervasive computing to common business applications. Unfortunately, mainstream programming languages do not provide mechanisms that enable software entities to adapt their behavior dynamically to the current execution context. This leads developers to adopt convoluted designs to achieve t...
متن کاملContext - Oriented Programming
Context-oriented programming (COP) introduces one more notion to reason about the structure of software systems: a context (an environment) is a set of entities bound with a system of relations. This view is applicable where the object-oriented one is inadequate. Implementation of COP requires the same techniques as OOP: COP and OOP are different things assembled from the same components. COP a...
متن کاملContextJ: Context-oriented Programming with Java
Context-oriented programming (COP) allows for the modularization of context-dependent behavioral variations. So far, COP has been implemented for dynamically-typed languages such as Lisp, Smalltalk, Python, and Ruby relying on reflection mechanisms, and for the statically-typed programming language Java based on a library and a pre-processor. ContextJ is our COP implementation for Java. It prop...
متن کاملContext-oriented Programming With Only Layers
Most if not all extensions to object-oriented languages that allow for context-oriented programming (COP) are asymmetric in the sense that they assume a base implementation of a system to be composed into classes and a set of layers to provide behavioral variations applied to those classes at run-time. We propose L as an experimental language to further explore the design space for COP language...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Information & Software Technology
سال: 2021
ISSN: ['0950-5849', '1873-6025']
DOI: https://doi.org/10.1016/j.infsof.2020.106504